import json

def group_products_by_category(input_file):
    """
    从一个JSON文件中读取产品数据，并根据categoryId进行分组。

    参数:
        input_file (str): 输入的JSON文件路径。

    返回:
        dict: 一个字典，其中键是categoryId，值是产品列表。
    """
    with open(input_file, 'r', encoding='utf-8') as f:
        products = json.load(f)

    grouped_products = {}
    for product in products:
        category_id = product.get('firstCategoryId')
        if category_id is not None:
            if category_id not in grouped_products:
                grouped_products[category_id] = []
            grouped_products[category_id].append(product)

    return grouped_products

def save_grouped_products(grouped_products):
    """
    将分组后的产品保存到不同的JSON文件中。

    参数:
        grouped_products (dict): 分组后的产品字典。
    """
    for category_id, products in grouped_products.items():
        output_file = f"category_{category_id}_products.json"
        with open(output_file, 'w', encoding='utf-8') as f:
            json.dump(products, f, indent=4, ensure_ascii=False)
        print(f"已将类别 {category_id} 的产品保存到 {output_file}")

if __name__ == "__main__":
    input_filename = "genview_products.json"
    grouped = group_products_by_category(input_filename)
    save_grouped_products(grouped) 